The Internet is a loose network of networked computers spread throughout the world. These networked computers form part of a client-server model, where each networked computer is either a client, a server, or a combination client and server. The servers store and transmit content, such as data files, Web pages, or the like, to the clients. A large proportion of the content stored on these servers is publicly accessible.
This content is typically located through a naming convention, known as a Uniform Resource Identifier (URI) from which a Uniform Resource Locator (URL) is created. URLs such as HTTP:// and FTP:// are specific subsets of URIs and are used to address every file on the Internet. In general, a URL is written as follows: [<scheme>:<scheme-specific-part>]. The <scheme> portion of the URL identifies the scheme is being utilized, such as File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), the Gopher Protocol, Wide Area Information Servers (WAIS), USENET News Protocol (News), the Prospero Directory Service (Prospero), or the like. The <scheme-specific-part> portion of the URL identifies the actual location of the file. A Domain Name System (DNS) is then used to convert the domain name of a specific computer on the network into a corresponding unique Internet Protocol (IP) address, such as 204.171.64.2.
Users typically access this content in one of two ways. The user can enter a URL into a text or address box on a Graphical User Interface (GUI) of a file manager or an Internet browser, such as MICROSOFT'S INTERNET EXPLORER, and click “Go” or press “Enter.” Alternatively, the user can click on a Hyperlink. The Hyperlink links a displayed object, such as text or an icon, to a file addressed by a URL.
As the Internet grows in size and sophistication, more and more content is becoming accessible to users. This content can be easily accessed by anyone who has a client computer and Internet access. However, some of this content may be unsuitable or inappropriate for all Internet users. For example, violent or adult content may be inappropriate for children. Therefore, in some situations it is desirable to limit and/or control user access to such content. In addition, employers may want to restrict their employees from viewing certain content on the Internet while at work. Likewise, parents may wish to block their child's access to violent, adult, or hate related content on the Internet.
This restriction and/or control of user access to content on the Internet is otherwise known as content filtering. Content filtering allows a system administrator to block or limit content based on one or more criteria, such as traffic type, file type, Web site, or the like. For example, Web access might be permitted, but file transfers may not.
There have been numerous attempts to provide content filtering using special browsers and filtering programs. These special browsers and filtering programs typically screen Web pages by word content, site rating, or by URL. The software provider of the special browsers or filtering programs typically keep a master list of objectionable URLs or Web sites that must be periodically updated in the special browser or filtering program on the user's client computer.
However, these existing content filtering systems have a number of drawbacks. First, they need to be installed and configured on each and every client computer where controlled access is desired. Such installation and configuration can be time-consuming, inconvenient, and require a basic understanding of computer hardware and software. Additionally, from time to time, the user may be required to install bug-fixes, patches or updates to configure or maintain the filtering software. This is because additional URLs or Web sites must be continually added to a list of restricted sites. Often, this list must be updated by periodically downloading it to a user's client computer. Moreover, the software and list of restricted sites may consume client computer memory, which, in some cases, may limit or affect overall client computer performance.
What is more, many children are typically more computer savvy than their parents and may find ways to circumvent the content filtering software without their parent's knowledge.
Another approach to content filtering has been to place filtering software on a proxy server, so that entire networks connected to the proxy server can be filtered. The proxy server typically contains an updatable list of restricted URLs or Web sites. However, each client computer connected to the proxy server must typically also include software that includes the filtering requirements appropriate for that particular client computer. Again this requires software to be installed and configured for each client computer. This is not only time consuming and inconvenient, but may consume much of a system administrator's time. If each client computer is not appropriately configured, users may be blocked from content that they should otherwise have access to. Conversely, children and other restricted users may be able to get access to inappropriate content using a particular client computer that has not been configured to restrict such content.
In addition, updating lists of objectionable URLs or Web sites is itself a challenge, as it has been estimated that approximately two million Web pages are added to the Internet each day. What is more, Internet search engines tend to display search results with the most recent content listed first. As a result, inappropriate Web sites may actually be listed first in a list of search results, thereby rendering filtering software that does not include these Web sites on its restricted list, ineffectual.
Conventional content filtering has several other limitations. For example, if a filter list is broad and attempts to provide heightened restrictions, appropriate content may be invariably filtered out along with inappropriate or blocked content. On the other hand, if the filter list is too narrow, inappropriate content is more likely to be accessible. Most importantly, the above systems provide content filtering on a computer by computer basis, i.e., they do not offer content filtering flexibility for different users using the same computer.
Therefore, a need exists for a content filtering system that is easily provisioned for one or more client computers. Furthermore, a need exists to provide a simple content filtering system that does not require installation and configuration of software on the user's client computer. Moreover, a need exists for a filtering system that cannot easily be circumvented, bypassed, tampered with, or disabled at the client computer level.